﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using LCTMoodle.Models.ViewModels;
using LCTMoodle.Helper;

namespace LCTMoodle.Service
{
    public class TapTinService : Service
    {
        /// <summary>
        /// Thêm tập tin
        /// </summary>
        /// <param name="tapTin">Cần tên tập tin, loại tập tin</param>
        /// <returns>Mã tập tin vừa thêm</returns>
        public static int themTapTin(TapTinViewModel tapTin)
        {
            return executeScalar<int>(
                "themTapTin",
                new object[]
                {
                    tapTin.tenTapTin,
                    tapTin.loaiTapTin
                }
            );
        }
        /// <summary>
        /// Lấy tập tin theo mã tập tin
        /// </summary>
        /// <param name="maTapTin">Mã tập tin</param>
        /// <returns></returns>
        public static TapTinViewModel layTapTinTheoMaTapTin(int maTapTin)
        {
            return executeDataReader<TapTinViewModel>(
                "layTapTinTheoMaTapTin",
                new object[]
                {
                    maTapTin
                }
            );
        }
        /// <summary>
        /// Lấy tập tin của bình luận bình luận
        /// </summary>
        /// <param name="maBinhLuan">Mã bình luận</param>
        /// <returns></returns>
        public static TapTinViewModel layTapTinTheoMaBinhLuan(int maBinhLuan)
        {
            return executeDataReader<TapTinViewModel>
                (
                    "layTapTinTheoMaBinhLuan",
                    new object[]
                    {
                        maBinhLuan
                    }
                );
        }
        /// <summary>
        /// Lấy toàn bộ tập tin trong bài viết (gồm luôn bình luận)
        /// </summary>
        /// <param name="maBaiViet">Mã bài viết</param>
        /// <returns></returns>
        public static List<TapTinViewModel> layTapTinToanBoTheoMaBaiViet(int maBaiViet)
        {
            return executeDataReader_List<TapTinViewModel>
                (
                    "layTapTinToanBoTheoMaBaiViet",
                    new object[]
                    {
                        maBaiViet
                    }
                );
        }

        /// <summary>
        /// Xóa tập tin theo mã tập tin
        /// </summary>
        /// <param name="maTapTin">Mã tập tin</param>
        public static bool xoaTapTinTheoMaTapTin(int maTapTin)
        {
            return executeNonQuery
                (
                     "xoaTapTinTheoMaTapTin",
                     new object[]
                     {
                         maTapTin
                     }
                );
        }
    }
}








































